home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 24
/
Aminet 24 (1998)(GTI - Schatztruhe)[!][Apr 1998].iso
/
Aminet
/
dev
/
c
/
vbcc.lha
/
vbcc
/
doc
/
History
< prev
next >
Wrap
Text File
|
1998-02-19
|
47KB
|
1,032 lines
vbcc is (c) in 1995-97 by Volker Barthelmann
(cga68k): changes in the code generator for amiga68k/unix68k
(cgi386): changes in the code generator for i386
(cgppc): changes in the code generator for ppc
(cgalpha): changes in the code generator for alpha
(cla68k): changes in the C library for amiga68k
(vca68k): changes in the compiler frontend for amiga68k
(vcu68k): changes in the compiler frontend for unix68k
Changes since V0.6
- bug fix: functions returning structs
- bug fix: str(n)icmp in extra.lib (cla68k/clappc)
- added some simple elimination of redundant compare/bccs
- added loop-unrolling for certain loop-invariant number of iterations
- fixed names of some dos-varargs-functions in vargs.h (cla68k/clappc)
- -use-lmw added (cgppc)
- some work on -peephole (cgppc)
- bug fix: signed right-shifts (cgppc)
- newmalloc made standard (cla68k)
- fixed some bugs in addressing (cgm68k)
- BeginIO added to libamiga.a
- fixed certain type-conversions (cgppc)
- some bug fixes (cgalpha)
- added NOEXE to config-files using PhxAss
- bug fix: replaced buggy strncpy (cla68k/clappc)
- support for stack-frames larger than 32KB added (cgppc)
- some changes in the code-generator for ppc (cgppc)
- new pasm can replace branches >16bit (config-files changed)
Changes since V0.5k
- -ml option added to vc
- remove() and rename() added (clappc)
- vc accepts +file anywhere now
Changes since V0.5j
- -setccs added (cgppc)
- bug fix: some bugs for ppc fixed (cgppc)
- bug fix: problems with SUBPFP in ic.c
- bug fix: do_refs() had problems with pointer-constants (cgm68k)
- bug fix: similar problem for i386 (cgi386)
- obsolete EOF-check in main() removed
- format for -cc/-ccv changed (vc)
- + does not need the full path anymore (vc)
Changes since V0.5i
- fixed minor bugs in strcmp, strncmp and memcmp (cla68k,clappc)
- fixed certain problems with regargs
- some bug-fixes (cgppc,cgalpha)
- bug-fix: KONST|DREFOBJ was incorrectly propagated as constant
- hacked fd2lib to create libcall-includes (cla68k)
Changes since V0.5h
- -ul added to vc
- -no-regnames added (cgppc)
- changed gen_cond() void
- support for struct-return and HAVE_REGPARMS
- several bug-fixes (cgppc,cgalpha)
- removed debugging-output in printzul
- warning 208 extended to simple endless loops
- cyclic dependencies in load_reg_parms are handled now
- several bug fixes (cgppc)
Changes since V0.5g
- argument-registers were assigned before rewriting array/function-types
- r2 is reserved (cgppc)
- warning 168 is no more displayed for main()
- bug-fix: alignment of floating-point-constants not always ok (cgppc,cgi386)
- bug-fix: sub const with short types (cgppc)
- function-inlining works with register-parameters
- added stdarg-support (cgppc)
- leaf-functions don't creat a stack-frame (cgppc)
- some bug fixes (cgppc)
- several changes in handling of alignments
- added support for modulo (cgppc)
- some modifications on alignments (cgm68k,cgppc)
- -amiga-align added (cgppc)
- mysupp included in extra.lib (cla68k)
- some docs updated
- added memread_id, memwrite_id and memwrite_completely to vsc.h
- added inline-assembly-functions
Changes since V0.5f
- added examples of stdarg.h into the codegen-docs
- -save-fp added (cgi386)
- bug fix: conversions int<->char and %esi etc. (cgi386)
- warning 170 turned off by default
- bug fix: corrected prototype for strerror() (cla68k)
- no-builtins added (cgalpha)
- added some builtin faunctions (cgalpha)
- ?: now works with non-scalars
- dtgen is easier to use when not building a cross-compiler
- __typeof added
- conversions of DREFOBJ sometimes generated illegal assembly on
alpha (cgalpha)
Changes since V0.5e
- cg_copyright added
- increased default-values for unroll-size and inline-size
- some changes for PPC (cgppc)
- bug fix: declarations with empty identifiers were accepted
- bug fix: read_config() read one byte too much in vc (vc)
- bug fix: warning 226 added
- some optimizations for Alpha (cgalpha)
- more conservative handling of copy-propagation and structs/unions
- better handling of alignment of compund types
- bug fix: local_regs() generated duplicate FREEREGs if a register
was exchanged in free_hreg()
- bug fix: moveq was used incorrectly sometimes (cgm68k)
- bug fix: problems with must_convert() for m68k (cgm68k)
- bug fix: sometimes scratch registers were reused too early with
a op= b
Changes since V0.5d
- added warnings 224 and 225
- bug fix: parsing of format-strings works better now
- inlined calls don't increase <function_calls>
- some work on the code-generator for alpha
- bug fix: function-inlining didn't work with register parameters
- clearing am before gen_dc
Changes since V0.5c
- new Makefile
- better support for crosscompilers and emulation of data types
- bug fix: several bugs fixed
- a68k/amiga68k became m68k
Changes since V0.5b
- bug fix: corrupt alias info in frequency-reduction
- bug fix: loop1 in flow.c
- bug fix: arith_opt() converted uninitialized var
- uses ffree for i386 (cgi386)
- added supp.h/c; started to separate C-specific parts
Changes since V0.5a
- setvbuf works better now (cla68k)
- bug fix: float/double->unsigned char/short works correct with FPU now (cga68k)
- -longalign added (cgi386)
- bug fix: mieee.lib closed wrong library (cla68k)
- bug fix: typo in default rule of Makefile
- added warning 222
- bug fix: addressing-modes with 68020+ (cga68k)
- bug fix: local register allocation when optimizing
- bug fix: create_loop_headers had problems with empty basic blocks
- bug fix: enforcer hit and incorrect warnings in certain while- and
for-expressions when optimizing
- bug fix: parsing of certain declarations was buggy
Changes since V0.5
- loop-unrolling now works with multiple ccs
- work on the ppc code generator (cgppc)
- bug fix: old-style function-definitions with '...' didn't give a diagnostic
- bug fix: missing ',' in function calls didn't give a diagnostic
- bug fix: certain missing brackets around initializers didn't give a
diagnostic
- bug fix: in certain cases wrong code for divisions was generated (cgi386)
- bug fix: optimizing local register allocation had problems with USEQ2ASZ
- local_regs() tries to use best reg with SETRETURN
- started support for default argument passing in registers
- bug fix: rearranging of array-accesses was buggy with DREFOBJs
- bug fix: loading of parameters into registers was sometimes wrong if there
was a jump to the first basic block after optimization
- bug fix: casting to void and conditional-expressions with void caused
problems
Changes since V0.4f
- bug fix: there was a bug with local register allocation and optimizing
- bug fix: t_max[CHAR] was wrong :-) (cga68k, cgi386, cgppc)
- ixemul-support updated (cla68k)
- bug fixed: initialized arrays with unspecified size always increased size
of stack frame
- work on the i386 code generator (cgi386)
- fixed bug with register parameters and optimizer
- a4 is saved when geta4 is called (cga68k)
Changes since V0.4e
- small improvements on the i386 code generator (cgi386)
- bug fix: minor bug in loop-unrolling with TEST
- bug fix: there was a check missing in type_expr/CALL
- bug fix: do not use addressing modes if base register was freed (cga68k)
- added new m040.lib by Aki M Laukkanen (cla68k)
- added elf-support and -elf option to i386 code generator (cgi386)
- bug fixed: _ctype_.c in vcs.lib had been built with large data (cla68k)
- __reg added
- added support for parameter passing in registers
- small changes in local optimizing register allocation
Changes since V0.4d
- arguments for mieee-functions are passed in different order now; rebuilt
mieee.lib (cga68k, cla68k)
- changed directory-structure, Makefile and frontend
- bug fixed: certain struct initializations got the alignment wrong (bug
was probably introduced recently)
- included new PhxLnk
- included startup-code for ixemul.library by Frank Wille
- changed default vc.config (-Ivinclude: put at the end)
- better error handling when parsing enums
- fixed a bug with struct-assigns and improved them a bit (cga68k)
- moved a } in killsp()
- slightly better